package cn.dlust.tt.module.teacher.controller.admin.courses.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 课程新增/修改 Request VO")
@Data
public class CoursesSaveReqVO {

    @Schema(description = "课程ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12992")
    private Long Id;

    @Schema(description = "课程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "课程名称不能为空")
    private String courseName;

    @Schema(description = "授课教师ID（外键，指向system_users.id）", requiredMode = Schema.RequiredMode.REQUIRED, example = "30023")
    @NotNull(message = "授课教师ID（外键，指向system_users.id）不能为空")
    private Long teacherId;

    @Schema(description = "开课院系ID", example = "25781")
    private Long deptId;

    @Schema(description = "课程描述", example = "你猜")
    private String description;

    @Schema(description = "是否删除", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否删除不能为空")
    private Boolean deleted;

    @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18550")
    @NotNull(message = "租户编号不能为空")
    private Long tenantId;

}